package com.ruoyi.oa.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import java.util.Date;
import com.ruoyi.workflow.domain.ActBusinessStatus;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import javax.validation.constraints.NotBlank;


/**
 * 转正申请视图对象 oa_human_probation
 *
 * @author ruoyi
 * @date 2023-06-29
 */
@Data
@ExcelIgnoreUnannotated
public class OaHumanProbationVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
//    @ExcelProperty(value = "主键")
    private String id;


    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String applicantName;

    /**
     * 申请人ID
     */
//    @ExcelProperty(value = "申请人ID")
    private String applicantId;

    /**
     * 试用岗位
     */
    @ExcelProperty(value = "试用岗位")
    private String probationPosition;

    /**
     * 工作内容
     */
    @ExcelProperty(value = "工作内容")
    private String workContent;

    /**
     * 考核记录
     */
    @ExcelProperty(value = "考核记录",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType ="assessment_type" )
    private String assessmentRecords;

    /**
     * 部门id
     */
    private String departId;

    /**
     * 部门
     */
    @ExcelProperty(value = "部门")
    private String departName;

    /**
     * 入职日期
     */
    @ExcelProperty(value = "入职日期")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date entryDate;

    /**
     * 转正备注
     */
//    @ExcelProperty(value = "转正备注")
    private String remarks;

    /**
     * 转正日期
     */
    @ExcelProperty(value = "转正日期")
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date probationDate;


    /**
     * 业务状态实体对象
     */
    private ActBusinessStatus actBusinessStatus;


    /**
 * 创建时间
 */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    @ExcelProperty(value = "提交日期")
    @ColumnWidth(20)
    private Date createTime;

    @ExcelProperty(value = "提交人")
    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 附件
     */
    private String  attachment;
}
